package com.yc.cloud.admin.dto.response;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 人脸搜索响应DTO
 *
 * @author JackGu
 * @since 2025-11-05
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "人脸搜索响应DTO")
public class FaceSearchRespDTO extends BaseFaceResponse<FaceSearchRespDTO.SearchData> {

    /**
     * 搜索数据
     */
    @Data
    @ApiModel(value = "搜索数据")
    public static class SearchData {
        @ApiModelProperty(value = "检测到的人脸数量")
        private Integer faceCount;

        @ApiModelProperty(value = "匹配结果列表")
        private List<SearchResult> results;
    }

    /**
     * 搜索匹配结果
     */
    @Data
    @ApiModel(value = "人脸搜索匹配结果")
    public static class SearchResult {

        @ApiModelProperty(value = "匹配的人脸ID")
        private String faceId;

        @ApiModelProperty(value = "人员ID")
        private String personId;

        @ApiModelProperty(value = "人员姓名")
        private String personName;

        @ApiModelProperty(value = "相似度（0-1）")
        private Double similarity;
    }
}

